From Validation to Automated Repair & Beyond with Constraint Solving

نویسنده

  • Hesam Samimi
چکیده

of the Dissertation From Validation to Automated Repair & Beyond with Constraint Solving by Hesam Samimi Doctor of Philosophy in Computer Science University of California, Los Angeles, 2013 Professor Todd Millstein, Chair Tremendous amounts of software engineering efforts go into the validation of software. Developers rely on many forms of software validation, from unit tests to assertions and formal specifications, dynamic contract checking to static formal verification, to ensure the reliability of software packages. Traditionally, however, the benefits seem to stop there, at checking whether there are problems. But once problems have been detected, those spent validation efforts play no role in the challenging task of debugging those problems, a task which requires manual, time-consuming, and error-prone developer efforts. The key insight of this dissertation is that we can leverage the efforts that developers currently put into the validation of software, such as unit tests and formal verification, to get software engineering benefits that can go beyond validation, including automated software repair. Validation mechanisms can be elevated to this status using modern constraint solving, a technology that is already in use for the purpose of formal verification of software. I present three novel and practical instances of this idea, that I was able to identify by focusing on particular domains and scenarios. The first work, used in development, builds on unit testing as the most common form of validation, and exploits a constraint solving method to automatically fix a certain class of bugs in the source code (offline repair). The second builds on dynamic, specification-based validation as in assertions and contracts used during development and testing, and applies it to deployed software to make it robust to unforeseen run-time failures by falling back to constraint solving (online repair). Finally, I use specifications and constraint solving to improve an existing validation methodology in test-driven development, used to enable testing when part of the depended upon software is unavailable or hard to set up.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generalized Constraint Solving by Elimination Methods

In this survey paper on our work in the field of constraint solving techniques, we discuss generalizations of constraint solving over various domains. These generalizations comprise paradigms from both computational algebra (e.g. parameterization) as well as from logic (e.g. expressiveness of full first-order logic). The domains include real numbers, p-adic numbers, integers, differential field...

متن کامل

Interval Constraint Solving Using Propositional SAT Solving Techniques

In order to facilitate automated reasoning about large Boolean combinations of non-linear arithmetic constraints involving transcendental functions, we extend the paradigm of lazy theorem proving to intervalbased arithmetic constraint solving. Algorithmically, our approach deviates substantially from “classical” lazy theorem proving approaches in that it directly controls arithmetic constraint ...

متن کامل

Visopt ShopFloor: Going Beyond Traditional Scheduling

Visopt ShopFloor is a generic scheduling system for solving complex scheduling problems. It differentiates from traditional schedulers by offering some planning capabilities. In particular, the activities to achieve the goal are planned dynamically during scheduling. In the paper, we give a motivation for the integration of planning and scheduling and we describe how such integration is realise...

متن کامل

AI-Techniques in Proof Planning

Proof planning is an application of Artiicial Intelligence (AI)-planning in mathematical domains for theorem proving. The paper presents a knowledge-based proof planning approach that is implemented in the OMEGA proof planner. It evaluates control-rules in order to restrict the otherwise intractable search spaces and combines proof planning with domain-speciic constraint solving. Several AI-tec...

متن کامل

Automated Modelling and Solving in Constraint Programming

Constraint programming can be divided very crudely into modeling and solving. Modeling defines the problem, in terms of variables that can take on different values, subject to restrictions (constraints) on which combinations of variables are allowed. Solving finds values for all the variables that simultaneously satisfy all the constraints. However, the impact of constraint programming has been...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013